/*加一
给定一个由 整数 组成的 非空 数组所表示的非负整数，在该数的基础上加一。

最高位数字存放在数组的首位， 数组中每个元素只存储单个数字。

你可以假设除了整数 0 之外，这个整数不会以零开头。*/
void swap_arr(int*n1, int*n2)
{
        int temp=*n1;
            *n1=*n2;
                *n2=temp;
}
void reverse_arr(int *arr, int size)
{
        int left=0;
            int right=size-1;
                while (left<right) 
                    {
                                swap_arr(arr+left, arr +right);
                                        left++;
                                                right--;
                    }
                        
}
int* plusOne(int* digits, int digitsSize, int* returnSize) {
    int*con=(int*)malloc((digitsSize+1)*sizeof(int));
    reverse_arr(digits, digitsSize);
    int count=1;
    for(int i=0;i<digitsSize;i++)
    {
           con[i]=(digits[i]+count)%10;
              if(digits[i]+count>=10)
                 {
                            count =1;
                 }
                    else 
                       {
                                  count =0;
                       }
    } 
    *returnSize =digitsSize;
    if (count) 
    {
            con [(*returnSize)++]=1;
    }  
    reverse_arr(con, *returnSize);
    return con;
}
    }
                       }
                 }
    }
}
                    }
}
}